package com.sort;

import java.security.PublicKey;
import java.util.Arrays;

public class Code03_BubbleSort {


    // public static void bubbleSort(int[] arr) {
    //     for (int i = arr.length - 1; i >= 0; i--) {
    //         for (int j = 0; j < i; j++) {
    //             if(arr[j] < arr[j+1]){
    //                 swap(arr, j, j+1);
    //             }
    //         }
    //
    //     }
    // }

    public static void swap(int arr[], int i, int j) {
        int temp = arr[i];
        arr[i] = arr[j];
        arr[j] = temp;
    }

    public static void main(String[] args) {
        int[] arr = new int[]{9, 2, 5, 1, 7, 8, 4, 3};
        bubbleSort(arr);
        System.out.println(Arrays.toString(arr));
    }

    // private static void bubbleSort(int[] arr) {
    //     int N = arr.length;
    //     for (int i = 0; i < N; i++) {
    //         for (int j = 0; j < N - i - 1; j++) {
    //             if (arr[j] > arr[j + 1]) {
    //                 swap(arr, j, j + 1);
    //             }
    //         }
    //     }
    // }

    public static void bubbleSort(int[] arr) {
        int N = arr.length;
        for (int i = N - 1; i >= 0; --i) {
            for (int j = 0; j < i; j++) {
                if (arr[j] > arr[j + 1]) {
                    swap(arr, j, j + 1);
                }
            }
        }
    }
}
